#ifndef _MT5_GEMCOLLECT_H_
#define _MT5_GEMCOLLECT_H_

#include "math/vec2.h"
#include <vector>

namespace ui
{
	class UISprite;
}

class MATGemCollect
{
public:

	struct	CollectedGem
	{
		CollectedGem() : m_IsFinish(false),
						 m_ArcCounter(0)
		{};

		void			Tick(float dt);
		void			Render();

		math::Vec2		m_Pos;
		ui::UISprite*	m_pSprite;
		bool			m_IsFinish;
		float			m_Delay;
		float			m_Rotation;
		int				m_RotationSpeed;
		float			m_ArcCounter;
		float			m_Accel;
		int				m_ArcDir;
		float			m_Scale;
		math::Vec2		m_Size;

	};
	

	static MATGemCollect&			Instance();
	


	void							Tick(float dt);
	void							Add(const math::Vec2& Pos, ui::UISprite* pSprite, float Delay);
	void							Render();


protected:

	
private:

	MATGemCollect();
	~MATGemCollect();

	
	
	std::vector<CollectedGem*>		m_pCollectedGems;
	math::Vec2						m_PosTarget;
	
	

};

#endif		// _MT5_GEMCOLLECT_H_